#!/usr/bin/env python
# coding=utf-8
# @FileName :settings.py
# @Time     :2022/2/10 8:25
# @Author   :ZXC
# @Desc     :全局配置文件
import datetime
from pathlib import Path

# 项目根路径
BASE_DIR = Path(__file__).resolve().parent.parent
# API请求封装文件
API_DIR = BASE_DIR.joinpath('api')
# 配置文件目录
CONFIG_DIR = BASE_DIR.joinpath('config')
# 测试数据目录
DATA_DIR = BASE_DIR.joinpath('data')
# 日志目录
LOG_DIR = BASE_DIR.joinpath('logs')
# 报告目录
REPORT_DIR = BASE_DIR.joinpath('report')
# 测试文件目录
TEST_DIR = BASE_DIR.joinpath('test')
# 工具类目录
TOOLS_DIR = BASE_DIR.joinpath('tools')

LOG_CONFIG = {
    'sink': LOG_DIR.joinpath(f'test-{datetime.date.today()}.log'),  # 日志保存位置，sys.stdout表示打印在控制台
    'level': 'DEBUG',  # 日志等级，必须是大写的
    'enqueue': True,  # 是否开启异步写入
    'rotation': '20MB',  # 日志切割方式 大小(XXX MB)或时间 XXX month/weeks/days/h/18:00
    'retention': '30 days',  # 日志最大保留时长
    'compression': 'zip',  # 文件的压缩格式zip,tar.gz等
    'backtrace': True,  # 错误堆栈的日志
    'diagnose': True,  # 错误堆栈的日志
    'encoding': 'utf-8'  # 日志文件编码，防止中文乱码
}
# 全局存放提取参数的池子
extra_pool = {
    # 响应状态码
    "response_code": 200,
    # 机构树
    "organ_tree": None,
    # 机构
    "organ": None,
    # 资产
    "asset": None,
    # 漏洞
    "vul": None,
    # mysql查询结果
    "mysql": None,
    # tidb查询结果
    "tidb": None
}

if __name__ == '__main__':
    print(f"项目根路径：{BASE_DIR}")
    print(f"API请求封装文件：{API_DIR}")
    print(f"配置文件目录：{CONFIG_DIR}")
    print(f"日志目录：{DATA_DIR}")
    print(f"报告目录：{REPORT_DIR}")
    print(f"测试文件目录：{TEST_DIR}")
    print(f"工具类目录：{TOOLS_DIR}")
